/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package escom.ipn.Operador;

import escom.ipn.modelo.delegate.*;
import escom.ipn.modelo.dto.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Daniel
 */
public class SiguientePregunta extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            
            HttpSession sess = request.getSession(true);
            PreguntaRespuesta pr = new PreguntaRespuesta();
            PreguntaRespuestaDelegate delpr = new PreguntaRespuestaDelegate();
            Respuestas res = new Respuestas();
            RespuestasDelegate delres = new RespuestasDelegate();
            Bitacora bit = new Bitacora();
            BitacoraDelegate delbit = new BitacoraDelegate();
            
            //------------INICIO GUARDAR EN BITACORA--------------
            bit.setId_incidente(Integer.parseInt(sess.getAttribute("idIncidente").toString()));
            bit.setObservacion(request.getParameter("descripcion"));
            out.println(bit.getId_incidente());
            out.println(bit.getObservacion());
            out.println(request.getParameter("id"));
            
            try {
                delbit.crear(bit);
            } catch (SQLException ex) {out.println(ex.toString());
                Logger.getLogger(SiguientePregunta.class.getName()).log(Level.SEVERE, null, ex);
            }
            //-------------FIN GUARDAR EN BITACORA---------- 
            
            //-----------INICIO SUGERENCIA--------------
            Cat_SugerenciasDelegate csd = new Cat_SugerenciasDelegate();
            try {
                List sugerencias=csd.mostrarRespuesta(Integer.parseInt(request.getParameter("id")));
                if (sugerencias!=null){
                    for(int i=0; i<sugerencias.size();i++){
                    Cat_Sugerencias sugerencia = (Cat_Sugerencias) sugerencias.get(i);
                    Sugerencia s =new  Sugerencia();
                    SugerenciaDelegate sd = new SugerenciaDelegate();
                    s.setSugerencia(sugerencia.getSugerencia());
                    s.setDescripcion(sugerencia.getDescripcion());
                    s.setINCIDENTE_id_incidente(Integer.parseInt(sess.getAttribute("idIncidente").toString()));
                    sd.crear(s);
                }
                
                }
                
                 
            } catch (SQLException ex) {out.println(ex.toString());
                Logger.getLogger(SiguientePregunta.class.getName()).log(Level.SEVERE, null, ex);
            }
            
            //-----------FIN SUGERENCIA-----------
            
            //-----------INICIO SIGUIENTE PREGUNTA
            pr.setIdRespuesta(Integer.parseInt(request.getParameter("id")));
            out.println(pr.getIdRespuesta());
            try {
                pr = delpr.mostrarSiguiente(pr);
                out.println(pr.getIdPregunta());
                response.sendRedirect("Operador/Pregunta.jsp?id="+pr.getIdPregunta());
            } catch (SQLException ex) {
                Logger.getLogger(SiguientePregunta.class.getName()).log(Level.SEVERE, null, ex);
            }
            //------------------FIN SIGUIENTE PREGUNTA
            
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
